package com.sc.nft.req.popup;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.enums.HomeJumpEnum;
import com.sc.nft.enums.PopUpPushEnum;
import com.sc.nft.req.OperatorReq;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @author JYT
 * @create 2024/5/7 10:31
 */
@Data
public class PopUpReq {
    /**
     * 弹窗id
     */
    private Long id;
    /**
     * 弹窗名称
     */
    @ApiModelProperty(value = "弹窗名称")
    @NotBlank(message = "弹窗名称不能为空")
    private String popUpName;
    /**
     * 弹窗图片
     */
    @ApiModelProperty(value = "弹窗图片")
    @NotBlank(message = "弹窗图片不能为空")
    private String popUpImg;
    /**
     * 跳转类型
     */
    @ApiModelProperty(value = "跳转类型 NONE 无,PAGE 页面,H5_URL H5链接")
    private HomeJumpEnum jumpType;
    /**
     * 跳转路径
     */
    @ApiModelProperty(value = "跳转路径")
    private String jumpPath;
    /**
     * 投放开始时间
     */
    @ApiModelProperty(value = "投放开始时间")
    @NotNull(message = "投放开始时间不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 投放结束时间
     */
    @ApiModelProperty(value = "投放结束时间")
    @NotNull(message = "投放结束时间不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    /**
     * 推送频次
     */
    @ApiModelProperty(value = "推送频次 ONCE_FOR_ALL 永久一次, ONCE_FOR_DAY 每多少天推送一次")
    @NotNull(message = "推送频次不能为空")
    private PopUpPushEnum pushFrequency;
    /**
     * 每多少天推送一次
     */
    @ApiModelProperty(value = "每多少天推送一次")
    private Integer pushDay;

}

